package com.cskaoyan.javase.array._3exception._4operation._0traverse;

/**
 * 数组的长度不可变,指的是堆上数组对象的长度不可变
 *      某个数组对象,一旦在堆内存中创建它
 *      那么它的长度就已经固定了,只能够去改变数组对象的状态(修改元素的取值)
 *      除非销毁这个对象,否者长度是不可变的
 *
 * 但是数组引用指向的对象是可变的,引用是可变的
 *
 *
 * @since 15:58
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        arr[0] = 100;

        // 现在引用arr指向了一个新的长度为2的对象
        arr = new int[2];
    }
    // 方法的形参如果是一个基本数据类型,那就直接传入一个值就可以了
    public static void test(int a){

    }
    // 方法的形参如果是一个引用数据类型,那就直接传入一个对象就可以了
    // 但是很明显,没有办法直接传入对象,只能间接的传入一个引用,表示传入对象
    // 返回值类型同样具有这种特点.
    public static void test(int[] arr){

    }
}
